package cn.longwingstech.intelligence.agent.service;

import cn.longwingstech.intelligence.agent.model.dto.user.UserLoginRequest;
import cn.longwingstech.intelligence.agent.model.dto.user.UserRegisterRequest;
import cn.longwingstech.intelligence.agent.model.dto.user.UserUpdateRequest;
import cn.longwingstech.intelligence.agent.model.entity.User;
import cn.longwingstech.intelligence.agent.model.vo.user.UserLoginVO;
import cn.longwingstech.intelligence.agent.model.vo.user.UserVO;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author a1369
* @description 针对表【user(用户信息表)】的数据库操作Service
* @createDate 2025-08-04 17:55:06
*/
public interface UserService extends IService<User> {

    /**
     * 用户登录
     * @param userLoginRequest
     * @return
     */
    UserLoginVO login(UserLoginRequest userLoginRequest);

    /**
     * 用户注册
     * @param userRegisterRequest
     * @return
     */
    Long register(UserRegisterRequest userRegisterRequest);

    /**
     * 获取当前用户
     * @return
     */
    UserVO getCurrentUser();

    /**
     * 获取验证码
     * @param email
     * @return
     */
    Boolean getCode(String email);

    /**
     * 修改用户
     * @param userUpdateRequest
     * @return
     */
    Boolean usersUpdate(UserUpdateRequest userUpdateRequest);
}
